package com.luo.mapper;

import com.luo.pojo.*;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.jdbc.Null;

import java.util.Arrays;
import java.util.List;

public interface UserMapper {
    //查询所有
    User selectUser(@Param("user_name") String user_name, @Param("user_password") String user_password);

    //查询是否存在该用户
    User selectUserName(@Param("user_name") String user_name);

    //注册
    Integer insertUser(@Param("user_name") String user_name, @Param("user_password") String user_password);

    //查询公告
    List<Announcement> selectAnnouncement();

    //添加公告
    Integer addAnnouncement(@Param("annTitle") String annTitle, @Param("annContent") String annContent, @Param("annDate") String annDate);

    //查询成绩
    List<UserScore> selectScore(@Param("id") String id);

    //查询所有课程
    List<Course> selectAllCourse();

    //查询个人所选课程
    List<Course> selectMyCourse(@Param("id") String id);

    //查询个人没有选择的课程
    List<Course> selectMyNoCourse(@Param("id") String id);

    //选择课程
    Integer addCourse(@Param("courseId") String courseId, @Param("id") String id);

    //添加课程
    Integer addCourseUp(@Param("courseId") String courseId, @Param("courseName") String courseName);

    //管理课程1
    List<ManageCourse> selectCourseOfId(@Param("id") String id);

    //管理课程2
    List<ManageCourse> selectCourseOfCourseId(@Param("CourseId") String CourseId);

    //管理课程3
    Integer giveCourse(@Param("courseId") String courseId, @Param("id") String id, @Param("score") String score);

    //管理学生1
    Integer addPersons(@Param("id") String id, @Param("userName") String userName, @Param("userPassword") String userPassword, @Param("userClassid") String userClassid, @Param("userSex") String userSex, @Param("userAge") String userAge, @Param("userBirthday") String userBirthday,@Param("userPost") String userPost);

    //管理学生2
    String selectPersons(@Param("userName") String userName);

    //管理学生3
    List<User> selectAllStudents();

    //管理教师或学生
    Integer deleteMemberById(@Param("id") String id);

    //查询用户信息根据id
    User selectUserById(@Param("id") String id);

    //修改用户信息
    Integer updateUserInfo(@Param("id") String id, @Param("name") String userName, @Param("passWord") String passWord, @Param("classId") String classId, @Param("age") String age, @Param("birthday") String birthday);

    //刷新教师名单
    List<User> selectAllTeachers();
}
